import { 
  orderDetails, fetch, cancel, getPayShow, setPlayComPlet, delet

} from '../../config/https'; //订单详情,确认收货,取消订单,微信支付签名,订单支付,删除订单

import Toast from '../../miniprogram_npm/_vant-weapp@0.5.7@vant-weapp/toast/toast';
import Dialog from '../../miniprogram_npm/_vant-weapp@0.5.7@vant-weapp/dialog/dialog';

const app = getApp()
// 引入SDK核心类
var QQMapWX = require('../../libs/qqmap-wx-jssdk.js'); 
var qqmapsdk = new QQMapWX({ key: app.globalData.tenxunMap  }); // 必填

Page({

  /**
   * 页面的初始数据
   */
  data: {
    statusstr:'', //状态字体
    status:'',//订单状态数字
    lat: '',//商家坐标
    lng:'', //商家坐标
    detaIls:[],//订单详情数据
    id:'',   //订单详情id
  },
  // ---------------------------------------------------------------------------
  onClose(e) { //点击确认收货
    let id = this.data.id;//点击此项的商品id
    Dialog.confirm({
      message: '是否确认收货？',
    }).then(() => { //确定的时候跳转到 订单详情
      fetch({ //确认收货数据
        id: id
      }).then(res => {
        Toast("成功取货")
        let num = 1;
        let tim = setInterval(() => {
          num--;
          if (num == 0) {
            clearInterval(tim)
            wx.navigateBack({
              delta: 1
            })
          }
        }, 1000)
      })
    })
  },
// ---------------------------------------------------------------------------
  details() {  //订单详情数据
    let id = this.data.id;
    orderDetails({
      id: id
    }).then(res => {
      console.log(res)
      //转换时间戳
      var timestamp = res.order.auto_cancel_time;
      var newDate = new Date();
      newDate.setTime(timestamp * 1000);
      this.setData({ detaIls: res, lat: res.store.lat, lng: res.store.lng, auto_cancel_time: newDate.toLocaleString() })
    })
  },
// ---------------------------------------------------------------------------
  canC() {  //取消订单数据
    let id = this.data.id;
    cancel({
      remark: " 不想买了",
      id: id,
    }).then(res => {
      console.log("取消订单成功")
    })
  },
  canCel() {//点击取消订单
    Dialog.confirm({
      message: '确定取消订单吗？',
    }).then(() => { //确定的时候跳转到 订单详情
      let numval = 1;
      let interv = setInterval(() => {
        numval--;
        if (numval == 0) {
          clearInterval(interv)
          wx.navigateBack({
            delta: 1
          })
        }
      }, 1000)
      Toast("取消成功")
      this.canC() //取消订单数据
    })
  },
// ---------------------------------------------------------------------------
  // pay() {  //订单支付数据
  //   let this_ = this
  //   setPlayComPlet({
  //     id: this.data.id,
  //     ordersn: this.data.detaIls.other_data.ordersn,
  //     type: 'credit',
  //   }).then(res => {
  //     console.log(res)
  //   })
  // },
  inter() { //定时跳转
    let numval = 1;
    let interv = setInterval(() => {
      numval--;
      if (numval == 0) {
        clearInterval(interv)
        wx.navigateBack({
          delta: 1
        })
      }
    }, 1000)
  },
  //支付
  onCloseTo() {
    let this_ = this;
    getPayShow({ // 微信支付签名
      id: this_.data.id
    }).then(res => {
      console.log(res)
      var payInfo = res.sign
      wx.requestPayment({ //微信支付
        'timeStamp': payInfo.timeStamp, //时间戳，
        'nonceStr': payInfo.nonceStr,  //随机字符串
        'package': payInfo.package, //统一下单接口返回的 prepay_id 参数值
        'signType': payInfo.signType,  //签名算法
        'paySign': payInfo.paySign,  //签名
        'success': res => {
          Toast("支付成功")
          //this_.pay() //订单支付数据
          this_.inter() //定时跳转
        },
        'fail': err => {
          Toast("支付失败")
          this_.inter() //定时跳转
        }
      })
    })
  },
// ---------------------------------------------------------------------------
  deLete() {//点击删除的时候
    Dialog.confirm({
      message: '确定删除订单吗？',
    }).then(() => { //确定的时候跳转到 订单首页
      wx.redirectTo({
        url: '/pages/Theorder/Theorder?navIndex=2',
      })
      this.deleteTheOrder() //删除订单
      Toast("删除成功")
    })
  },
  deleteTheOrder() { //删除订单
    let id = this.data.id;
    delet({
      id: id
    }).then(res => {
      console.log(res)
    })
  },
// ---------------------------------------------------------------------------
  intoMap() {     //点击查看路线
    let this_ = this;
    // console.log(this_.data.lng, this_.data.lat)
    if (this_.data.lng==null&&this_.data.lat==null){
      Toast("经纬度为空")
    }else{

      qqmapsdk.reverseGeocoder({ //腾讯地图根据坐标获取当前位置名称，显示在顶部:腾讯地图逆地址解析
        get_poi: 0,//返回周边列表
        location: {//位置坐标
          latitude: this_.data.lat,  //商家的坐标
          longitude: this_.data.lng  //商家的坐标
        },
        success: function (res) { //成功
          console.log(res)
          let name = res.result.address; //商家的地址
          let specificAddress = res.result.formatted_addresses.recommend //商家的具体地址
           console.log(res)
          wx.openLocation({ //地图    
            latitude: Number(this_.data.lat), ///商家的坐标
            longitude: Number(this_.data.lng),//商家的坐标
            scale: 18,//缩放
            name: name,//商家的地址名
            address: specificAddress,//商家的具体地址名
          })
        },
        fail: function (ess) {
          console.log('地址名获取失败', ess)
        }
      })
    }
  },
// ---------------------------------------------------------------------------
  onLoad: function (options) {/* 生命周期函数--监听页面加载*/
    this.setData({ id: options.id, status: options.status, statusstr: options.statusstr})
    this.details()  //订单详情数据
  },
 

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})